Include input filename on GPX parse error message.
authorrobertl <robertl>
Tue, 20 Nov 2007 17:24:50 +0000 (17:24 +0000)
committerrobertl <robertl>
Tue, 20 Nov 2007 17:24:50 +0000 (17:24 +0000)
gpx.c

diff --git a/gpx.c b/gpx.c
index 514408c98c3f886af320830795c9f2c94cccc18e..b0655ab502641133448e7d7df6824a736bac38ef 100644 (file)
--- a/gpx.c
+++ b/gpx.c
@@ -46,6 +46,7 @@ static vmem_t current_tag;
 static waypoint *wpt_tmp;
 static int cache_descr_is_html;
 static gbfile *fd;
+static const char *input_fname;
 static gbfile *ofd;
 static short_handle mkshort_handle;
 static const char *link_url;
@@ -1181,11 +1182,13 @@ gpx_rd_init(const char *fname)
 {
        if ( fname[0] ) {
                fd = gbfopen(fname, "r", MYNAME);
+               input_fname = fname;
        }
        else {
                fd = NULL;
                input_string = fname+1;
                input_string_len = strlen(input_string);
+               input_fname = NULL;
        }
 
 
@@ -1262,6 +1265,7 @@ gpx_rd_deinit(void)
        psr = NULL;
        wpt_tmp = NULL;
        cur_tag = NULL;
+       input_fname = NULL;
 }
 #endif
 
@@ -1365,8 +1369,9 @@ gpx_read(void)
                        result = -1;
                }
                if (!result) {
-                       fatal(MYNAME ": XML parse error at %d: %s\n", 
+                       fatal(MYNAME ": XML parse error at line %d of '%s' : %s\n", 
                                (int) XML_GetCurrentLineNumber(psr),
+                               input_fname ? input_fname : "unknown file",
                                XML_ErrorString(XML_GetErrorCode(psr)));
                }
        }